Method for overcoming obstructions of a robotic device

ABSTRACT

Provided is a method for a robotic device to autonomously overcome obstructions hindering the operational capacity of the robotic device. When a robotic device encounters an obstruction, the robotic device may enact one of a number of predetermined responses to overcome the obstruction without requiring the intervention of an outside entity to assist the robotic device with overcoming the obstruction.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of Provisional Patent Application No. 62/580,640, filed Nov. 2, 2017 which is hereby incorporated by reference. In this application, certain U.S. patents, U.S. patent applications, or other materials (e.g., articles) have been incorporated by reference. Specifically, in addition to the preceding, U.S. patent application Ser. Nos. 16/048,179, 16/048,185, 15/272,752, 62/631,050 and 16/051,328 are hereby incorporated by reference. The text of such U.S. patents, U.S. patent applications, and other materials is, however, only incorporated by reference to the extent that no conflict exists between such material and the statements and drawings set forth herein. In the event of such conflict, the text of the present document governs, and terms in this document should not be given a narrower reading in virtue of the way in which those terms are used in other materials incorporated by reference.

FIELD OF INVENTION

The present disclosure relates to robotic devices, and more particularly, to the methods in which a robotic device overcomes issues in the work environment interfering with the functions of the robotic device.

BACKGROUND OF INVENTION

Autonomous or semi-autonomous robotic devices are increasingly used within consumer homes and commercial establishments. Such devices may include a robotic vacuum cleaner, lawn mower, mop, or other similar devices. One issue that remains is how that robotic devices often encounter is that the robotic devices become inoperable due to a variety of circumstances thereby requiring the physical intervention on the part of an individual to rectify the issue. For example, if a brush of a robotic cleaner becomes stuck around, for example, an electrical cord, the robotic device may become inoperable as the brush will no longer be able to spin, and an individual must come to detangle the electrical cord from the brush. In another example, brushes of robotic cleaners may become stuck due to becoming entangled with hair or the like and no longer be able to spin properly, the individual in turn must come over to detangle the hair from the brush. In other examples a robotic device may become stuck on an unexpected elevation change, encounter an unexpected dip or the like and an individual must intervene to assist the robotic device. While it is unavoidable that robotic devices will encounter issues in the work environment completely, it is preferable that a robotic device be able to overcome such issues independently. When a robotic device encounters an issue, it may render the robotic device inoperable which is undesirable as the robotic device may not be able to complete work tasks, and it is further undesirable as it often requires outside assistance for overcoming the issue. A method is needed for a robotic device to be able to overcome such issues independently.

None of the preceding discussion should be taken as a disclaimer of any of the described techniques, as the present approach may be used in combination with these other techniques in some embodiments.

SUMMARY

The following presents a simplified summary of some embodiments of the present techniques. This summary is not an extensive overview of the invention. It is not intended to limit the invention to embodiments having any described elements or to delineate the scope of the invention. Its sole purpose is to present some embodiments of the invention in a simplified form as a prelude to the more detailed description that is presented below.

Some aspects include a method for a robotic device to overcome obstructions hindering the operations of the robotic device, the method comprising: providing a robotic device, the robotic device comprising: one or more processors, a chassis including a set of wheels, a motor for driving the set of wheels, a rechargeable battery for providing power to the robotic device, a control system module for controlling the movement of the robotic device, a set of sensors, a screen with graphical user interface, and a motor for providing increased power to modules of the robotic device when the modules become obstructed; The robotic device encountering an obstruction; and Whereby the robotic device autonomously enacts one or more predetermined responses to attempt to overcome the obstruction.

Some aspects include a system wherein a robotic device overcomes an obstruction, the system comprising: providing a robotic device, the robotic device comprising: one or more processors, a chassis including a set of wheels, a motor for driving the set of wheels, a rechargeable battery for providing power to the robotic device, a control system module for controlling the movement of the robotic device, a set of sensors, a screen with graphical user interface, and a motor for providing increased power to modules of the robotic device when the modules become obstructed; The robotic device encountering an obstruction; and the robotic device autonomously enacting one or more predetermined responses to overcome the obstruction.

BRIEF DESCRIPTION OF DRAWINGS

The present techniques are described with reference to the following figures:

FIG. 1A-C illustrate a series of steps in which a robotic device may overcome an obstruction.

FIG. 2A-C illustrate a series of steps in which a robotic device may overcome an obstruction.

FIG. 3A-E illustrate a series of steps in which a robotic device may overcome an obstruction.

DETAILED DESCRIPTION OF THE INVENTIONS

The present inventions will now be described in detail with reference to a few embodiments thereof as illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present inventions. It will be apparent, however, to one skilled in the art, that the present inventions, or subsets thereof, may be practiced without some or all of these specific details. In other instances, well known process steps and/or structures have not been described in detail in order to not unnecessarily obscure the present inventions. Further, it should be emphasized that several inventive techniques are described, and embodiments are not limited to systems implanting all of those techniques, as various cost and engineering trade-offs may warrant systems that only afford a subset of the benefits described herein or that will be apparent to one of ordinary skill in the art.

Various embodiments are described herein below, including methods and systems. It should be kept in mind that the invention might also cover articles of manufacture that include a computer-readable medium on which computer-readable instructions for carrying out various embodiments of the inventive techniques are stored. The computer-readable medium may include semi-conductor, magnetic, opto-magnetic, optical, or other forms of computer-readable medium for storing computer-readable code. Further, embodiments may also include apparatuses for practicing embodiments of the invention. Such apparatus may include circuits, dedicated and/or programmable, to carry out tasks pertaining to embodiments described herein.

In some embodiments, “robot”, “robotic device”, “robotic vacuum” or “robotic cleaning device” may include one or more autonomous or semi-autonomous devices having communication, an actuator, mobility, and/or processing elements. Such robots or robotic devices may, but are not required to (which is not to suggest that any other described feature is required in all embodiments), include a casing or shell, a chassis, a transport drive system such as wheels or other mobility device, a motor to drive the wheels or other mobility device, a receiver that acquires signals transmitted from, for example, a transmitting beacon, a processor and/or controller that processes and/or controls motors, methods, and operations, network or wireless communications, power management, etc., and one or more clock or synchronizing devices. Robots or robotic devices may also include a power module for delivering (and in some cases storing) electrical power, a sensor module for observing the environment and for sending commands based on the observed environment, and a control module for storage of operation modes, command responses to the observed environment or user input, and the like. The sensor module may include sensors for detecting obstacles, types of flooring, cliffs, system status, temperature, and the like or sensors for measuring movement. An interface module may also be included to provide an interface between the robot and the user. The robot or robotic device may further include IR sensors, tactile sensors, sonar sensors, gyroscopes, ultrasonic range finder sensors, depth sensing cameras, odometer sensors, optical flow sensors, LIDAR, cameras, IR illuminator, remote controls, Wi-Fi capability, network card, Bluetooth capability, cellular functionality, USB ports and RF transmitter/receiver. Other types of robots or robotic devices with other configurations may also be used.

In embodiments, a control system of the robotic device may be utilized. The control system may include, but is not limited to, a system or device(s) that perform, for example, methods for receiving and storing data; methods for processing data; methods for processing command responses to stored or processed data, to the observed environment, to internal observation, or to user input; methods for detecting operational hazards in the work environment; methods for detecting obstacles in the work environment; and methods for navigation and other operation modes. For example, the control system may receive data from an obstacle sensor, and based on the data received, the control system may respond by commanding the robotic device to move in a specific direction. As a further example, the control system may receive image data of the observed environment, process the data, and use it to create a map of the environment. The control system may be a part of the robotic device, the camera, a navigation system, a mapping module or any other device or module. The control system may also comprise a separate component coupled to the robotic device, the navigation system, the mapping module, the camera, or other devices working in conjunction with the robotic device. More than one control system may be used.

As understood herein, the term “obstruction”, “issue”, “operational hazard” or “hazard” may be defined generally to include unwanted matter which may pose as an operational issue for a robotic device when operating in a work environment, including but not limited to, cords, cables, wires, toys, debris, dust, dirt, rocks, feces, substances, objects, items, and the like wherein they act as a hazard for a robotic device such as, for example, becoming entangled with a robotic device. Substances of which a robotic device has encountered and have created an issue such as clogging a mechanism, becoming entangled with or the like, such as for example hair which has become entangled with a brush rendering the brush inoperable are also obstructions. Additionally, operational hazards may include obstacles of which a robotic device may bump into and become damaged by. Further, substances on a work surface, which may, for example, damage a robotic device or render a robotic device inoperable if a robotic device navigates over the substance are also operational hazards. Items on a floor of which a robotic device cannot overcome by driving over the item, or obstacles of a type which interfere with a robotic device when conducting work operations may also be operational hazards.

As understood herein, the term “work cycle”, “work session”, “operational session” or “operational cycle” may be defined generally as a work time of a robotic device from start to finish, whether ended by completion of work of an area, by instruction or programmed setting, or by the depletion of a battery powering the robotic device.

Some of the embodiments introduced herein provide methods related to the use of machine learning techniques to autonomously control the actions of a robotic device when the robotic device has encountered an issue that may otherwise render the functions of the robotic device inoperable. The robotic device may comprise, but is not limited to, a set of wheels, a power source, a chassis, a suspension system, a rechargeable battery, a control module, a processor, and the like. In some embodiments, the robotic device may further comprise a mapping module for mapping the environment using mapping techniques such as SLAM, and mapping tools such as imaging devices, sonar devices, LIDAR and LADAR devices, structured light devices, stereo vision and the like. In some embodiments, the robotic device may further comprise a localization module. Cameras, LIDAR, LADAR, stereo imaging, signal detectors and receivers, gyroscope, optical encoder, optical flow sensor, depth sensors and other devices may be used to capture information that one or more processors of the robotic device may use to localize itself within an internal map of the working environment. In some embodiments, the one or more processors of the robotic device may use machine learning techniques to learn the most optimal route for navigating through a working environment from, for example, a storage location of the robotic device to a working location of the environment and back to its storage location. In some embodiments, the processor of the robotic device may use machine learning techniques to learn the most optimal route for navigating through a working environment from, for example, a first location of the working environment, to a second location of the working environment, to a third location of the working environment, and so forth. Various observations may be collected during operation in order to determine the most optimal path for the robotic device when navigating through the work environment. For example, observations such as number of collisions, travel time, number of stalls, and travel distance may be used in determining the most optimal path. In some embodiments, the robotic device may have a wireless module to wirelessly send and receive information, such as a Wi-Fi module, a Bluetooth module, a RF module and the like. In some embodiments, the robotic device may comprise a scheduling module for, for example, setting a schedule for a working session. This may include the day, time, frequency, duration of the working session, and the like.

In embodiments, one or more processors of a robotic device may detect issues in the work environment of which the robotic device has encountered. In embodiments, the one or more processors of the robotic device may detect issues such as obstructions and operational hazards via sensory input by the one or more sensors of a robotic device. For example, the one or more processors may detect that the robotic device has encountered an issue due to a mechanism of the robotic device becoming inoperable. For example, if a brush of a robotic device ceases to operate in a normal capacity such as spinning, the one or more processors of the robotic device may determine that the robotic device has encountered an obstruction. In embodiments, the electrical current of a brush may determine whether or not the brush has become obstructed. If the electrical current utilized is not generating enough power for the brush to spin for a normal operation, the one or more processors of the robotic device may determine that the brush has become obstructed. An increase in electrical current may be provided to the brush in order to attempt to overcome the obstruction. If unsuccessful, the one or more processors of the robotic device may determine that the brush has become obstructed. In another example, sensors angled at mechanisms of the robotic device such as cameras or the like angled so as to view a perspective of various mechanisms of a robotic device such as, for example, a brush, a wheel, or the like, may capture features of an obstruction of which one or more processors of a robotic device may determine that the mechanism has become obstructed. For example, a camera angled at a main brush of a robotic device may capture images that hair or other unwanted matter has becoming entangled around the brush rendering it inoperable. As another example, an odometer may be utilized and the odometer readings may indicate to one or more processors of a robotic device that an obstruction has been encountered by the robotic device. For example, if an odometer is reading at a lower than a predetermined threshold for wheels or brushes of a robotic device, the one or more processors of the robotic device may determine that an obstruction has been encountered by the robotic device. As another example, if a robotic device ceases to navigate due to one or more wheels of a robotic device rotating properly, or if a suctioning module ceases to suction, or the like, the one or more processors of the robotic device may determine that the robotic device has encountered an obstruction.

In some embodiments, one or more processors of a robotic device may predict that a robotic device is likely to encounter an obstruction. For example, one or more sensors of a robotic device may capture features of an operational hazard in the work environment. In some embodiments, a memory of the robotic device may contain an internal database of operational hazards likely to be encountered within the working environment. In embodiments, an operational hazard encountered in the work environment may be identified using various sensors to capture features of the operational hazard and the processor of the robotic device may compare the features captured of the operational hazard with features stored in an internal database of types of operational hazards that may be encountered in order to determine the type of operational hazard the robotic device has encountered. In embodiments, when the one or more processors of a robotic device identify an operational hazard in the work environment, the one or more processors may command the robotic device to continue operations as normal. In embodiments, when the one or more processors of a robotic device identify an operational hazard in the work environment, the one or more processors may command the robotic device to avoid the operational hazard. In some embodiments, when the one or more processors of a robotic device identify an operational hazard in the work environment, the one or more processors may command the robotic device to attempt to overcome the operational hazard, obstacle, or the like. For example, if a cord or cable has been identified on the work surface, the one or more processors may command the robotic device to attempt to navigate over the cord or cable. In embodiments, if the robotic device is successful in navigating over an operational hazard, the one or more processors of the robotic device may catalogue the encounter and attempt to do so again in future similar encounters. In embodiments, if a mechanism of the robotic device becomes inoperable immediately after attempting to overcome an operational hazard, the one or more processors may determine that there is a high likelihood that the robotic device has become inoperable due to the operational hazard. In embodiments, if a robotic device attempts to overcome an operational hazard and is unsuccessful the one or more processors may catalogue the encounter for future use and avoid such operational hazards in the future. In some embodiments, a set of preprogrammed responses may be set for differing types of operational hazards. For example, the response of a robotic device becoming entangled with a cord or cable may be different than the response a robotic device has for an elevation change, for a brush becoming obstructed, or the like.

FIGS. 1A-C depict an example of a response that a robotic device may make in response to a wheel of the robotic device becoming entangled with an obstruction. In FIG. 1A wheel 102 of robotic device 100 has become entangled with obstruction of the work environment 101. In FIG. 1B, robotic device 100 begins to navigate in direction 103 in order to attempt to remove obstruction 101 from wheel 102 of robotic device 100. In FIG. 1B, robotic device 100 may navigate in a forward direction, providing more power to navigate in the already forward navigation direction, may reverse, or utilizing an omnidirectional wheel mechanism may navigate in other directions. In FIG. 1C, robotic device 100 has successfully removed entanglement with obstruction 101 from wheel 102 of robotic device 100 by navigating in direction 103. FIGS. 2A-C depict an example of a response that a robotic device may make in response to a brush of the robotic device becoming entangled with an obstruction. In another example, FIG. 2A displays robotic device 200 is displayed with side brushes 201 and main brush 203. Right side brush 201 of robotic device 200 has become entangled with obstruction 202 of work environment while side brush 201 spins in clockwise direction 204. In FIG. 2B robotic device 200 attempts to overcome obstruction 202 from side brush 201 by reversing rotation of side brush 201 in counter clockwise direction 205. In FIG. 2C robotic device 200 has successfully removed obstruction 202 from side brush 201 of robotic device 200.

In embodiments, when a robotic device has encountered an issue jeopardizing the operational capacity of the robotic device, the robotic device may attempt to overcome the issue. For example, in embodiments, a robotic device may encounter a cable, cord or the like of the work environment and the cord or cable may become entangled with the robotic device. For example, a cord or cable may become entangled with a wheel mechanism of the robotic device. In embodiments, if, for example, an obstruction becomes entangled with, for example, a wheel of a robotic device, the one or more processors of the robotic device may receive sensory input indicating that an issue has arisen such as, for example, that the robotic device is unable to navigate forward due to a particular wheel not spinning properly. In such a situation, a robotic device may attempt to reverse the wheels, propelling itself in a reverse direction to overcome the issue. Other possibilities are available for overcoming such an obstruction. For example, a robotic device may be equipped with mecanum wheels, providing the robotic device with omnidirectional capacity, and the robotic device may attempt a number of traveling directions for its wheels for overcoming the obstruction. Alternatively, additional power may be provided to the wheel mechanism of the robotic device in order to attempt to drive forward with additional power. For example, a motor of a robotic device may provide additional power to the wheels of the robotic device such that the wheels are able to overcome the obstruction by navigating in the same direction that the robotic device was navigating in when the wheel became obstructed. Further, additional power may be provide to, for example, a wheel mechanism and the wheel mechanism navigates the robotic device in a direction other than that of which the robotic device was navigating in when the robotic device became obstructed. As another example, a brush of a robotic device may become entangled with a cord or cable of the work environment and the response of the robotic device may be any of, reversing the direction of rotation of the entangled brush, navigating the robotic device in a variety of directions, or the like. For example, if a side brush of a robotic device has become entangled with a cord or cable of the work environment, the brush may reverse its spin in an opposite direction, the robotic device may navigate in a reverse direction, or the like. Further, additional power may be provided to the obstructed mechanism such as brush, such as, for example, from a motor, such that the obstructed mechanism such as a brush is able to rotate at a higher rate of speed in order to attempt to dislodge the obstruction.

In some embodiments, a robotic device may encounter an issue due to an unexpected elevation change. For example, a robotic device may navigate on a hard floor surface and transition to a thick pile carpet, the angle of the robotic device and the differing floor surface types causing a potential issue for the robotic device. For example, one set of wheels may be positioned on the thick pile carpet while a second set of wheels are positioned on the hard floor surface, the propelling wheels of the robotic device being located on the thick pile carpet which have become stuck in a forward motion. A response of a robotic device may be to attempt to navigate in a different direction, such as a reverse direction to overcome the issue, or a motor of the propelling wheels may provide extra power to the propelling wheels such that the wheels are able to navigate in a direction such that the robotic device stable again. For example, a motor may provide additional power to the propelling wheels of the robotic device such that the robotic device is able to navigate forward to be fully on the thick pile carpet. Conversely, additional power may be provided such that the wheels reverse, or navigate in a different direction, such that the robotic device becomes stable again. A robotic device may include an omnidirectional wheel mechanism such that the robotic device may maneuver in a variety of directions as such in order to overcome issues of the work environment.

In some embodiments, a robotic device may encounter an issue such as an obstruction impeding a mechanism of the robotic device. In embodiments, for example, a brush of a robotic device may become entangled with an obstruction such as a main brush becoming entangled with an obstruction from the work environment. In embodiments, the robotic device may attempt to reverse the direction in which the main brush spins in order to remove the obstruction from the brush. In some embodiments, the rpm rate of the brush may be increased in order to remove an obstruction such as, for example, by providing additional power to the brush. In some embodiments, if a brush is utilized together with a vacuuming module, if a brush encounters an obstruction, the vacuum suction may be increased in order to attempt to suction in the obstruction. In some embodiments, if a brush is utilized together with a vacuuming module and the brush encounters an obstruction, the vacuuming module may reverse airflow and instead blow air in an opposite direction in order to attempt to dislodge the obstruction. In some embodiments, a module may be utilized for removing obstructions from brushes of a robotic device. In some embodiments, a module for removing obstructions from brushes of a robotic device may comprise a combing module with serrated edges. In some embodiments, a combing module with serrated edges may be combined with a module for providing power and movement such as a motor such that the serrated combing module navigates along the length of the brush, such that any obstructions are removed from the brush by the combing module. In embodiments, for example, an obstruction along a brush such as for example, hair, may be cut through by a combing module with serrated edges such that the hair is no longer entangled with the brush. In embodiments, once an obstruction has been cut or loosened by a combing module, a vacuuming module or a blowing module may suction or blow the obstruction from the brush. For example, if an obstruction such as tangled hair has been cut loose from a main brush of a robotic vacuum, a vacuum suction module may suction the cut hair particulates into the dustbin storage container of the robotic device and the main brush of the robotic device may begin to spin again. FIG. 3A depicts an example of a combing module 300 with serrated edges 301 utilized for removing tangled materials from a brush (not shown) of a robotic device. In FIG. 3B, combing module 300 with serrated edges 301 is positioned on main brush 302 of robotic device. Combing module 300 slides 303 along main brush 302 in order to remove any unwanted matter from bristles 304 of main brush 302. In FIG. 3C combing module 300 with serrated edges 301 is positioned on main brush 302 of robotic device. Combing module 300 will slide 303 along main brush 302 in order to remove unwanted matter 305 tangled in bristles 304 of main brush 302 in order to cut the unwanted matter 305 with serrated edge 301 of combing module 300. In FIG. 3D combing module 300 has successfully loosened unwanted matter 305 from bristles 304 of main brush 302 utilizing serrated edge 301 of combing module 300. In some embodiments, the comb with serrated edges may spin as it navigates along the brush in order to assist with cutting or dislodging any unwanted matter stuck on the brush. In some embodiments, the comb may comprise inward facing blades or teeth as well as a serrated outward facing blade in order to assist with cutting and dislodging of unwanted matter. In FIG. 3E an example of a cross section of a comb 306 is illustrated. The comb comprising a hollow body 309 with inward facing blades 308 and outward facing serrated edge 307 to facilitate the removal of unwanted matter.

In some embodiments a robotic device may comprise a module for suctioning and/or blowing air. In embodiments, when an obstruction occurs of which a suctioning or blowing module becomes obstructed, the one or more processors of the robotic device may command the module to reverse the air flow that is being utilized in order to remove the obstruction. For example, if a module is suctioning air and the module becomes obstructed, the one or more processors of the robotic device may command that the module reverse the airflow in order to remove the obstruction such as by blowing air. In embodiments, the suctioning or blowing of air may comprise a fan impeller mechanism and the fan impeller is reversible to provide both suctioning and blowing power. In some embodiments, when a brush of a robotic device has had an obstruction removed such as by, for example, a combing module, the suctioning module may suction in the removed obstruction. In some embodiments, when a brush of a robotic device has had an obstruction removed such as by, for example, a combing module, the blowing module may blow away the removed obstruction.

In embodiments, when an operational hazard has been detected in the work environment the one or more processors of the robotic device may note an increased likelihood of that type of operation hazard being located in the region of the environment in which it was encountered. For example, if a robotic device encounters a cable on the work surface, image sensors of the robotic device may capture features of the cable and the processor may determine it is a cable based on an internal database of operational hazards and their features. The processor of the robotic device may mark the region in which the cable was encountered within an internal map of the robotic device as a region with increased likelihood of containing a cable. In some embodiments, the processor may further determine if the type of operational hazard encountered may be overcome by the robotic device. For example, the processor may determine if the operational hazard encountered is, for example, a liquid, but the robotic device is, for example, a vacuum, that the operational hazard poses a danger to the robotic device and that the robotic device should therefore avoid the liquid. In embodiments, if the robotic device encounters and identifies a type of operational hazard, a robotic device may alert a user or a robotic device which has the capabilities of dealing with the hazard. In embodiments, regions wherein the same operational hazard are consistently encountered may be classified by a processor of the robotic device as a high operational hazard area and may be marked in a map of the environment as such. In embodiments, the processor of the robotic device may attempt to alter its path in order to avoid high operational hazard areas. In embodiments, regions wherein operational hazards are consistently encountered may be classified by a processor of the robotic device as a high operational hazard area and may be marked in a map of the environment as such. In embodiments, the processor of the robotic device may attempt to alter its path in order to avoid high operational hazard areas. Dynamic obstacles include obstacles of which a robotic device does not expect to encounter, such as, for example, moving objects including, but not limited to, pets, humans, other robotic devices, and the like. Dynamic obstacles may also be new obstacles that are now present in a location in which an obstacle was not previously present. In embodiments, if a robotic device encounters a dynamic obstacle in repeated circumstances in a same location, the dynamic obstacle may be considered and reclassified to be a permanent obstacle. In some embodiments, transitions between different work surface types may pose an operational hazard, for example, a transition from a hardwood surface to a thick pile carpet may pose an operational hazard as it may cause a robotic device to become unstable as it attempts to overcome the transition. In some embodiments, preferences may be set, and the set of preferences may determine what poses as an operational hazard. For example, a preference may be set that a robotic device only operate on a hard floor surface; if a robotic device encounters a carpeted surface during operation, based on the preferences set the transition to carpet may be identified as an operational hazard.

In some embodiments, a mobile robotic device's navigation and operations plan may factor in data pertaining to the number of hazards expected to be encountered in areas of the work environment. In embodiments, during a working session, a robotic device may encounter areas in the work environment which contain operational hazards. In embodiments, when a robotic device encounters an operational hazard in the work environment, data pertaining to the operational hazard will be compiled and kept note of for future use. In embodiments, for example, data pertaining to the location, date and time that the operational hazard was encountered may be compiled for future use. In embodiments, for example, data pertaining to the type of operational hazard encountered, such as, for example, cables on a work surface and the like may be compiled by, for example, a robotic device such as, for example, a robotic vacuum. For example, if a robotic vacuum encounters a cable, and the cable becomes entangled around a brush of the robotic vacuum rendering the robotic vacuum inoperable, this data will be compiled for future use. In another example, if a robotic device encounters an operational hazard such as, for example, a liquid on a work surface of which a robotic device can not clean away, or which poses a danger to a robotic device, data pertaining to this encounter may be compiled. In additional embodiments, if a robotic device encounters an obstacle such as, for example, a robotic device bumping into an obstacle, data pertaining to this encounter may be compiled.

In embodiments, the robotic device may compile and catalogue all the data regarding operational hazards that have been detected in the work environment. In embodiments, regions where operational hazards have been detected by the robotic device, or have been detected by another robotic device, or in regions which have been classified as a high operational hazard area, a robotic device may give a lower priority to when planning a working session and navigational route. In embodiments, in order to provide the most efficient operational session possible, a robotic device may prioritize working in areas with a low likelihood of containing operational hazards over areas with a high likelihood of containing operational hazards in order to work in the most efficient manner possible by focusing on the areas least likely to contain an operational hazard. In embodiments, for example, if in a bedroom area, cables are routinely strewn about a room and encountered by a robotic device, while in a sitting room there is routinely a low level of operational hazards, a robotic device when planning a working session and navigational route may prioritize operating in the sitting room area first before operating in the bedroom. Further, in embodiments, a scheduling module may be utilized for setting schedules for the operations of a robotic device. For example, a schedule may be set for a robotic device to clean an entire house over the course of a week with the robotic device operating daily, but only supplying the robotic device with the ability to operate for, for example, two hours each day. In such an example, a robotic device may prioritize cleaning functions for areas with a low likelihood of containing operational hazards before cleaning areas which have a higher likelihood of containing operational hazards. In embodiments, the robotic device may keep track of which area it has operated in during each work session. In embodiments a robotic device may keep track of locations within each work area in order to plan a work session and navigational route. In embodiments, for example, a robotic device may prioritize areas in a room that have a lower likelihood of containing operational hazards than areas in the same room that have a higher likelihood of containing an operational hazard, and thereby perform functions and a navigational route as such. In some embodiments, a robotic device may alter the functions of the robotic device based on the presence or absence of operational hazards, or likelihood of an operational hazard being present in a work area. In embodiments, for example, a robotic device may operate at a faster rate of traveling speed in areas where operational hazards are not present or where there is a low likelihood of operational hazards being present. In embodiments, for example, a robotic device may operate at a slower rate of traveling speed in areas where operational hazards are present.

In some embodiments, a memory of the robotic device may contain an internal database of obstacles likely to be encountered within the working environment. In embodiments, an obstacle encountered in the work environment may be identified using various sensors to capture features of the obstacle and the processor to determine the type of obstacle based on the internal database. The processor of the robotic device may note the increased likelihood of that type of obstacle being located in the region of the environment in which it was encountered. For example, if a robotic device encounters a child's toy on the ground, image sensors of the robotic device may capture features of the child's toy and the processor may determine it is a child's toy based on an internal database of obstacles and their features. The processor of the robotic device may mark the region in which the child's toy was encountered within an internal map as a region with increased likelihood of containing a child's toy. In some embodiments, the processor may further determine if an obstacle may be overcome by the robotic device. For example, the processor may determine if the obstacle is of a type that may be overcome by the robotic device driving over the obstacle by attempting to do so. In embodiments, for example, if a robotic device encounters an obstacle on the work surface, and that obstacle is a cord, the robotic device may attempt to determine whether or not it can overcome such an obstacle by attempting to drive over it. In embodiments, for example, if the robotic device fails to overcome the obstacle such as, for example, a cord, then the robotic device may determine that it should avoid cords. In embodiments, for example, if the robotic device is successful in overcoming the obstacle, such as, for example, a cord, then the robotic device may determine that it may attempt to overcome similar obstacles in the future. In embodiments, if the robotic device encounters an obstacle with which interferes with the robotic device's functionality, or which disables the robotic device, such as, for example, if a cord in the environment becomes entangled with a brush of the robotic device, the robotic device may catalogue the encounter and avoid such obstacles in the future. In embodiments, if a robotic device encounters a large obstacle, such as, for example, a table or chair, the processor may determine that it cannot overcome the obstacle and may attempt to maneuver around the obstacle. In some embodiments, regions wherein obstacles are consistently encountered may be classified by the processor of the robotic device as a high traffic area. In embodiments, an area of a work environment classified as an area with a high likelihood of containing an obstacle and may be marked as such in an internal a map of the robotic device of the environment. In some embodiments, the processor of the robotic device may attempt to alter its path in order to avoid high obstacle areas. In some embodiments, the date, time, location, and type of obstacle encountered may be catalogued for use in future working sessions. In embodiments, for example, where obstacles are encountered frequently at a similar time, a robotic device may plan a working session for such an area when obstacles are encountered less frequently, and may prioritize operations in other locations at the time when that area tends to have a high frequency of obstacles.

In embodiments, utilizing a mapping module, a robotic device may generate a map of the working environment as the robotic device navigates through the work environment. In embodiments, with each working session, the robotic device may generate a map of the work environment. In embodiments, with each successive working session, the map generated during that session may be compiled with maps generated from prior work cycles. In embodiments, the compiled maps may generate a comprehensive map of all the maps previously generated. An example of a method for mapping a floor plan is described in U.S. patent application Ser. Nos. 16/048,179 & 16/048,185, the entirety of which are hereby incorporated by reference. In embodiments, the comprehensive map may contain data suggestive of trends in the work environment. In embodiments, for example, trends regarding operational hazards such as the type of hazard encountered, location of hazard encountered, how often a hazard or hazards are encountered, the date and or time a hazard was encountered and the like data may be utilized for the planning of a work session or navigational route. In embodiments, the map of the work area may utilize a grid system, in which the work area is divided into a grid of cells. In embodiments, as the robotic device navigates through the work area, or operates during a working session, data captured through sensors of the robotic device may be recorded in each portion of the map. In embodiments, the data captured through the sensors may be recorded for each cell in a grid of the map. In embodiments, data obtained by a control system or another robotic device may be recorded for each portion of the map. In embodiments, data obtained by a control system or another robotic device may be recorded for each portion of the map. In some embodiments, the data may simply reflect a presence or absence of operational hazards for that portion or cell in the map. In some embodiments data pertaining to the type of operational hazard, number of operational hazards, size of operational hazards, and the like, may be represented in each cell in the map. In embodiments, with each working session, a robotic device may record a value for each portion of the map pertaining to data representative of operational hazards. In embodiments, a map containing all of the values for each portion of a map operated in may be generated by the robotic device. In embodiments, during each working session the robotic device will generate a new map with a new set of values for each portion of the map. In embodiments, after each working session the map generated is compiled into an aggregate compiled map which is condensed from all prior maps generated during prior working sessions. In embodiments, the aggregate map generated represents each portion of the map as an average of the values for that portion from all compiled past working cycles. In embodiments, the aggregate map generated is updated after each new cycle. In embodiments, the portions of the map may represent values with regards to multiple types of data. In embodiments, for example, each portion of the map may contain data representative of various information pertaining to, for example, operational hazards, debris, obstacles, work surface types, and the like.

In embodiments, once an aggregate map is generated, a robotic device may be controlled or directed to navigate or operate in locations in a work area based on data collected for the aggregate map. In embodiments, various navigation patterns and operational functions based on the aggregate map generated may be envisioned. In embodiments, a robotic device may be controlled to navigate and operate based on historical data, such as, for example, by prioritizing operation in areas where a low likelihood of operational hazards may be present over areas in which a high likelihood of operational hazards may be present. In embodiments, a robotic device may be controlled or directed to navigate or operate based on historical data regarding the presence or absence of obstacles in a work area. In embodiments, a robotic device may be controlled or directed to navigate or operate in areas based on preferences set in prior working sessions. In embodiments, a robotic device may be controlled or directed to navigate or operate in areas based on work surface type, such as, for example, a robotic device being controlled to operate at a higher rate of navigation speed on hard work surface types such as tile. In embodiments, a robotic device may be controlled or directed to navigate or operate in work areas with a historically lower set of operational hazard values over other work areas with a historically higher set of operational hazard values. In embodiments, a robotic device may be controlled or directed to navigate or operate in a portion of a work area rather than to operate in an entire work area. For example, a robotic device may be controlled to operate on first section of a hallway over a second section of a hallway. In embodiments, a robotic device may be controlled or directed to navigate or prioritize a working session in a first work area before navigating or operating in a second work area. In some embodiments, preferences may be set with regards to a working session such that scheduling, operational functions to be performed in the working session, and the like are preset rather than the robotic device utilizing data from prior work cycles to predict and enact a navigation and operations plan. In some embodiments, machine learning may be utilized by the robotic device, such that data from prior work sessions is utilized to predict and enact in a working session based on data collected from prior work cycles. For example, a robotic device may utilize data pertaining to, but not limited to, operational hazards encountered, type of operational hazard encountered, locations operated in, how successful a navigational route was, obstacles encountered, types of obstacles encountered, types of work surface operated on, scheduling information, preferences utilized in prior working sessions, whether multiple robotic devices were utilized, battery efficiency, and the like information.

In some embodiments, scheduling information for the a work session may be provided to one or more processors of the robotic device. In some embodiments, scheduling information may be sent to a robotic device using a mobile communication device with a graphical user interface, remote control, a screen with graphical user interface on the robotic device, or another type of device that may communicate with the one or more processors of the robotic device. For example, a graphical user interface such as that described in U.S. patent application Ser. Nos. 15/272,752, 62/631,050, and 62/661,802, hereby incorporated by reference in their entirety, may be used for entering scheduling information. In some embodiments, a method for providing scheduling information to a robotic device such as that described in U.S. patent application Ser. No. 16/051,328, hereby incorporated by reference in its entirety, may be used. In some embodiments a web application, mobile application or software may be used for scheduling and sending scheduling information to the one or more processors of the robotic device. In some embodiments, scheduling information may be sent to the one or more processors of the robotic device using Wi-Fi, Bluetooth, RF, or other types of wireless connections. In some embodiments, auditory instructions may be provided to the robotic device by, for example, an individual, specialized computer, robotic device, or control system. For example, an individual may audibly command the robotic device to reverse the direction of a mechanism which has become obstructed, or to provide more power to a mechanism which has become obstructed, or the like. In some embodiments, the robotic device may comprise a microphone module to receive voice commands. In embodiments, an individual may command the robotic device to conduct operations, setting a schedule for the time and location of the work operations. In embodiments, a robotic device may be given an audible command in order to overcome an issue of which the robotic has encountered during operations. In some embodiments, a graphical user interface of a communications device, or a screen with graphical user interface of a robotic device may display information regarding operations such as what work operations are being conducted, what work operations are scheduled and the like. In some embodiments, a graphical user interface of a communications device or a screen with graphical user interface of a robotic device may display information regarding an obstruction encountered including what mechanism is experiencing an obstruction, what has caused the issue, when and where the issue took place, what response a robotic device may make to overcome the issue, list a set of options for an individual to select from for the robotic device to attempt to overcome the issue, and the like. In some embodiments, an individual may be able to interact with a graphical user interface of a communications device or a screen with graphical user interface of a robotic device for making selections of actions a robotic device is to make such as, for example, what, where, when and the like a robotic device is to conduct work operations, how a robotic device is to respond to an obstruction the robotic device has encountered, and the like. In some embodiments, when the robotic device is unable to overcome an obstruction encountered by the robotic device, an individual may need to manually assist the robotic device in overcoming the obstruction. In embodiments, when an obstruction is encountered, the robotic device may alert the individual to the location, and type of obstruction encountered via an auditory message, via a screen with graphical user interface of the robotic device, via an application with graphical user interface of a communications device such as laptop, phone, tablet or the like, by lighting a set of lights, or the like.

The reader should appreciate that the present application describes several independently useful techniques. Rather than separating those techniques into multiple isolated patent applications, the applicant has grouped these techniques into a single document because their related subject matter lends itself to economies in the application process. But the distinct advantages and aspects of such techniques should not be conflated. In some cases, embodiments address all of the deficiencies noted herein, but it should be understood that the techniques are independently useful, and some embodiments address only a subset of such problems or offer other, unmentioned benefits that will be apparent to those of skill in the art reviewing the present disclosure. Due to costs constraints, some techniques disclosed herein may not be presently claimed and may be claimed in later filings, such as continuation applications or by amending the present claims. Similarly, due to space constraints, neither the Abstract nor the Summary of the Invention sections of the present document should be taken as containing a comprehensive listing of all such techniques or all aspects of such techniques.

It should be understood that the description and the drawings are not intended to limit the present techniques to the particular form disclosed, but to the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present techniques as defined by the appended claims. Further modifications and alternative embodiments of various aspects of the techniques will be apparent to those skilled in the art in view of this description. Accordingly, this description and the drawings are to be construed as illustrative only and are for the purpose of teaching those skilled in the art the general manner of carrying out the present techniques. It is to be understood that the forms of the present techniques shown and described herein are to be taken as examples of embodiments. Elements and materials may be substituted for those illustrated and described herein, parts and processes may be reversed or omitted, and certain features of the present techniques may be utilized independently, all as would be apparent to one skilled in the art after having the benefit of this description of the present techniques. Changes may be made in the elements described herein without departing from the spirit and scope of the present techniques as described in the following claims. Headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description.

As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). The words “include”, “including”, and “includes” and the like mean including, but not limited to. As used throughout this application, the singular forms “a,” “an,” and “the” include plural referents unless the content explicitly indicates otherwise. Thus, for example, reference to “an element” or “a element” includes a combination of two or more elements, notwithstanding use of other terms and phrases for one or more elements, such as “one or more.” The term “or” is, unless indicated otherwise, non-exclusive, i.e., encompassing both “and” and “or.” Terms describing conditional relationships (e.g., “in response to X, Y,” “upon X, Y,”, “if X, Y,” “when X, Y,” and the like) encompass causal relationships in which the antecedent is a necessary causal condition, the antecedent is a sufficient causal condition, or the antecedent is a contributory causal condition of the consequent (e.g., “state X occurs upon condition Y obtaining” is generic to “X occurs solely upon Y” and “X occurs upon Y and Z”). Such conditional relationships are not limited to consequences that instantly follow the antecedent obtaining, as some consequences may be delayed, and in conditional statements, antecedents are connected to their consequents (e.g., the antecedent is relevant to the likelihood of the consequent occurring). Statements in which a plurality of attributes or functions are mapped to a plurality of objects (e.g., one or more processors performing steps A, B, C, and D) encompasses both all such attributes or functions being mapped to all such objects and subsets of the attributes or functions being mapped to subsets of the attributes or functions (e.g., both all processors each performing steps A-D, and a case in which processor 1 performs step A, processor 2 performs step B and part of step C, and processor 3 performs part of step C and step D), unless otherwise indicated. Further, unless otherwise indicated, statements that one value or action is “based on” another condition or value encompass both instances in which the condition or value is the sole factor and instances in which the condition or value is one factor among a plurality of factors. Unless otherwise indicated, statements that “each” instance of some collection have some property should not be read to exclude cases where some otherwise identical or similar members of a larger collection do not have the property (i.e., each does not necessarily mean each and every). Limitations as to sequence of recited steps should not be read into the claims unless explicitly specified, e.g., with explicit language like “after performing X, performing Y,” in contrast to statements that might be improperly argued to imply sequence limitations, like “performing X on items, performing Y on the X'ed items,” used for purposes of making claims more readable rather than specifying sequence. Statements referring to “at least Z of A, B, and C,” and the like (e.g., “at least Z of A, B, or C”), refer to at least Z of the listed categories (A, B, and C) and do not require at least Z units in each category. Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout this specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining” or the like refer to actions or processes of a specific apparatus specially designed to carry out the stated functionality, such as a special purpose computer or a similar special purpose electronic processing/computing device. Features described with reference to geometric constructs, like “parallel,” “perpendicular/orthogonal,” “square”, “cylindrical,” and the like, should be construed as encompassing items that substantially embody the properties of the geometric construct (e.g., reference to “parallel” surfaces encompasses substantially parallel surfaces). The permitted range of deviation from Platonic ideals of these geometric constructs is to be determined with reference to ranges in the specification, and where such ranges are not stated, with reference to industry norms in the field of use, and where such ranges are not defined, with reference to industry norms in the field of manufacturing of the designated feature, and where such ranges are not defined, features substantially embodying a geometric construct should be construed to include those features within 15% of the defining attributes of that geometric construct. Negative inferences should not be taken from inconsistent use of “(s)” when qualifying items as possibly plural, and items without this designation may also be plural.

The present techniques will be better understood with reference to the following enumerated embodiments:

-   1. A method for a robotic device to overcome obstructions hindering     the operations of the robotic device, the method comprising:     providing a robotic device, the robotic device comprising: one or     more processors, a chassis including a set of wheels, a motor for     driving the set of wheels, a rechargeable battery for providing     power to the robotic device, a control system module for controlling     the movement of the robotic device, a set of sensors, a screen with     graphical user interface, and a motor for providing increased power     to modules of the robotic device when the modules become obstructed;     The robotic device encountering an obstruction; and the robotic     device autonomously enacting one or more predetermined responses to     attempt to overcome the obstruction. -   2. The method of embodiment 1, wherein: when a wheel of the robotic     device becomes obstructed, additional power is provided to the wheel     by a motor of the robotic device to overcome the obstruction by     spinning at a higher rotation speed. -   3. The method of embodiment 1, wherein: when a wheel of the robotic     device becomes obstructed, the wheel is reversed for overcoming the     obstruction and the robotic device thereby navigates in a reverse     direction for overcoming the obstruction. -   4. The method of embodiment 1, wherein: the wheels of the robotic     device are omnidirectional wheels, and as such when they become     obstructed, the wheels turn to navigate the robotic device in a     direction such that the wheels become unobstructed. -   5. The method of embodiment 1, wherein: when a side brush of the     robotic device becomes obstructed, the side brush reverses the     direction it is spinning in for overcoming the obstruction. -   6. The method of embodiment 1, wherein: when a side brush of the     robotic device becomes obstructed, additional power is provided to     the side brush by a motor of the robotic device to overcome the     obstruction by spinning at a higher rotational speed. -   7. The method of embodiment 1, wherein: when a side brush of the     robotic device becomes obstructed, the robotic device navigates in a     predetermined direction in order to overcome the obstruction. -   8. The method of embodiment 1, wherein: when a wheel of the robotic     device becomes obstructed, additional power is provided to the wheel     by a motor of the robotic device to overcome the obstruction by     spinning at a higher rotational speed. -   9. The method of embodiment 1, wherein: when a main brush of the     robotic device becomes obstructed, additional power is provided to     the main brush by a motor of the robotic device to overcome the     obstruction by spinning at a higher rotational speed. -   10. The method of embodiment 1, wherein: when a main brush of the     robotic device becomes obstructed, the main brush reverses the     direction it is spinning in for overcoming the obstruction. -   11. The method of embodiment 1, wherein: when a main brush of the     robotic device becomes obstructed, the robotic device navigates in a     predetermined direction in order to overcome the obstruction. -   12. The method of embodiment 1, wherein: a comb with a serrated edge     is provided on the main brush of the robotic device, a motor     providing power to the comb with serrated edge such that the comb     with serrated edge navigates along the surface of the main brush by     sliding over it. -   13. The method of embodiment 13, wherein: when the main brush     becomes entangled with an obstruction along the bristles of the main     brush, the comb with serrated edge navigates along the surface of     the main brush such that the serrated edges of the comb slice     through and free away the obstruction. -   14. The method of embodiment 1, wherein: when a vacuuming module of     the robotic device becomes obstructed, a motor provides additional     power to the module such that a higher rate of suction is achieved     in order to overcome the obstruction. -   15. The method of embodiment 1, wherein: when a vacuuming module of     the robotic device becomes obstructed, the module reverses the     airflow such that the module is blowing air in order to overcome the     obstruction. -   16. The method of embodiment 1, wherein: when a robotic device     encounters an obstruction of which the robotic device is unable to     overcome, the robotic device makes an alert by any of: generating a     sound, generating an audio message, via a message of a screen with     graphical user interface of the robotic device, via an application     with graphical user interface of a communications device, or by     display of a light. -   17. A system comprising any one of embodiments 1-16. 

I claim:
 1. A method for a robotic device to overcome obstructions hindering the operations of the robotic device, the method comprising: providing a robotic device, the robotic device comprising: one or more processors; a chassis including a set of wheels; a motor for driving the set of wheels; a rechargeable battery for providing power to the robotic device; a control system module for controlling the movement of the robotic device; a set of sensors; a screen with graphical user interface; and a motor for providing increased power to modules of the robotic device when the modules become obstructed; the robotic device encountering an obstruction; and the robotic device autonomously enacting one or more predetermined responses to attempt to overcome the obstruction.
 2. The method of claim 1, wherein: when a wheel of the robotic device becomes obstructed, the predetermined response is to provide additional power to the wheel by a motor of the robotic device to overcome the obstruction by spinning at a higher rotational speed.
 3. The method of claim 1, wherein: when a wheel of the robotic device becomes obstructed, the predetermined response is for the wheel to reverse direction for overcoming the obstruction and the robotic device thereby navigates in a reverse direction for overcoming the obstruction.
 4. The method of claim 1, wherein: the wheels of the robotic device are omnidirectional wheels, and as such when they become obstructed, the predetermined response is for the wheels to turn in order to navigate the robotic device in a direction such that the wheels become unobstructed.
 5. The method of claim 1, wherein: when a side brush of the robotic device becomes obstructed, the predetermined response is that the side brush reverses the direction it is spinning in for overcoming the obstruction.
 6. The method of claim 1, wherein: when a side brush of the robotic device becomes obstructed, the predetermined response is to provide additional power to the side brush by a motor of the robotic device to overcome the obstruction by spinning at a higher rotational speed.
 7. The method of claim 1, wherein: when a side brush of the robotic device becomes obstructed, the predetermined response is for the robotic device to navigate in a predetermined direction in order to overcome the obstruction.
 8. The method of claim 1, wherein: when a wheel of the robotic device becomes obstructed, the predetermined response is to provide additional power to the wheel by a motor of the robotic device to overcome the obstruction by spinning at a higher rotational speed.
 9. The method of claim 1, wherein: when a main brush of the robotic device becomes obstructed, the predetermined response is to provide additional power to the main brush by a motor of the robotic device to overcome the obstruction by spinning at a higher rotational speed.
 10. The method of claim 1, wherein: when a main brush of the robotic device becomes obstructed, the predetermined response is for the main brush to reverse the direction it is spinning in for overcoming the obstruction.
 11. The method of claim 1, wherein: when a main brush of the robotic device becomes obstructed, the predetermined response is for the robotic device to navigate in a predetermined direction in order to overcome the obstruction.
 12. The method of claim 1, wherein: a comb with a serrated edge is provided on the main brush of the robotic device, a motor providing power to the comb with serrated edge such that the comb with serrated edge navigates along the surface of the main brush by sliding over it.
 13. The method of claim 12, wherein: when the main brush becomes entangled with an obstruction along the bristles of the main brush, the predetermined response is for the comb with serrated edge to navigate along the surface of the main brush such that the serrated edges of the comb slice through and free away the obstruction.
 14. The method of claim 1, wherein: when a vacuuming module of the robotic device becomes obstructed, the predetermined response is for a motor to provide additional power to the module such that a higher rate of suction is achieved in order to overcome the obstruction.
 15. The method of claim 1, wherein: when a vacuuming module of the robotic device becomes obstructed, the predetermined response is for the module to reverse the airflow such that the module is blowing air in order to overcome the obstruction.
 16. The method of claim 1, wherein: when a robotic device encounters an obstruction of which the robotic device is unable to overcome, the robotic device makes an alert by any of: generating a sound, generating an audio message, via a message of a screen with graphical user interface of the robotic device, via an application with graphical user interface of a communications device, or by display of a light.
 17. A system wherein a robotic device overcomes an obstruction, the system comprising: providing a robotic device, the robotic device comprising: one or more processors; a chassis including a set of wheels; a motor for driving the set of wheels; a rechargeable battery for providing power to the robotic device; a control system module for controlling the movement of the robotic device; a set of sensors; a screen with graphical user interface; and a motor for providing increased power to modules of the robotic device when the modules become obstructed; The robotic device encountering an obstruction; and the robotic device autonomously enacting one or more predetermined responses to overcome the obstruction.
 18. The system of claim 17, wherein when a wheel of the robotic device becomes obstructed, the response of the robotic device is any of: providing additional power to the wheel by a motor of the robotic device, reversing the direction in which the wheel spins, the robotic device navigating in a direction other than the direction in which the robotic device was navigating when the wheel of the robotic device became obstructed.
 19. The system of claim 17, wherein when a main brush of the robotic device becomes obstructed, the response of the robotic device is any of: providing additional power to the main brush by a motor of the robotic device, reversing the direction in which the main brush spins, operating a comb with serrated edge along the surface of the main brush such that the comb with serrated edge dislodges any obstruction from the main brush.
 20. The system of claim 17, wherein when a side brush of the robotic device becomes obstructed, the response of the robotic device is any of: providing additional power to the main brush by a motor of the robotic device, reversing the direction in which the main brush spins, operating a comb with serrated edge along the surface of the main brush such that the comb with serrated edge dislodges any obstruction from the main brush. 